package com.imooc.service;

import com.imooc.dataobject.ProductInfo;
import com.imooc.dto.CartDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * Created with idea
 * auther : zyr
 * Date : 2018/8/14
 * Time : 15:20
 **/
public interface ProductService {

    ProductInfo findOne(String productId);

    List<ProductInfo> findUpAll();

    Page<ProductInfo> findAll(Pageable pageable);

    ProductInfo save(ProductInfo productInfo);

    /**
     * 加库存
     *
     * @param cartDTOList 购物车列表
     */
    void increatStock(List<CartDTO> cartDTOList);

    /**
     * 减库存
     *
     * @param cartDTOList 购物车列表
     */
    void decreastStock(List<CartDTO> cartDTOList);

    /**
     * 上架
     *
     * @param productId 商品id
     * @return 商品
     */
    ProductInfo onSale(String productId);


    /**
     * 下架
     *
     * @param productId 商品id
     * @return 商品
     */
    ProductInfo offSale(String productId);
}
